package cn.edu.zjgsu.ito.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DemandOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DemandOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDemandIdIsNull() {
            addCriterion("demand_id is null");
            return (Criteria) this;
        }

        public Criteria andDemandIdIsNotNull() {
            addCriterion("demand_id is not null");
            return (Criteria) this;
        }

        public Criteria andDemandIdEqualTo(Integer value) {
            addCriterion("demand_id =", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdNotEqualTo(Integer value) {
            addCriterion("demand_id <>", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdGreaterThan(Integer value) {
            addCriterion("demand_id >", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("demand_id >=", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdLessThan(Integer value) {
            addCriterion("demand_id <", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdLessThanOrEqualTo(Integer value) {
            addCriterion("demand_id <=", value, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdIn(List<Integer> values) {
            addCriterion("demand_id in", values, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdNotIn(List<Integer> values) {
            addCriterion("demand_id not in", values, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdBetween(Integer value1, Integer value2) {
            addCriterion("demand_id between", value1, value2, "demandId");
            return (Criteria) this;
        }

        public Criteria andDemandIdNotBetween(Integer value1, Integer value2) {
            addCriterion("demand_id not between", value1, value2, "demandId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeIsNull() {
            addCriterion("expected_arrival_time is null");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeIsNotNull() {
            addCriterion("expected_arrival_time is not null");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeEqualTo(Date value) {
            addCriterion("expected_arrival_time =", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeNotEqualTo(Date value) {
            addCriterion("expected_arrival_time <>", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeGreaterThan(Date value) {
            addCriterion("expected_arrival_time >", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("expected_arrival_time >=", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeLessThan(Date value) {
            addCriterion("expected_arrival_time <", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeLessThanOrEqualTo(Date value) {
            addCriterion("expected_arrival_time <=", value, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeIn(List<Date> values) {
            addCriterion("expected_arrival_time in", values, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeNotIn(List<Date> values) {
            addCriterion("expected_arrival_time not in", values, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeBetween(Date value1, Date value2) {
            addCriterion("expected_arrival_time between", value1, value2, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andExpectedArrivalTimeNotBetween(Date value1, Date value2) {
            addCriterion("expected_arrival_time not between", value1, value2, "expectedArrivalTime");
            return (Criteria) this;
        }

        public Criteria andRewardIsNull() {
            addCriterion("reward is null");
            return (Criteria) this;
        }

        public Criteria andRewardIsNotNull() {
            addCriterion("reward is not null");
            return (Criteria) this;
        }

        public Criteria andRewardEqualTo(String value) {
            addCriterion("reward =", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardNotEqualTo(String value) {
            addCriterion("reward <>", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardGreaterThan(String value) {
            addCriterion("reward >", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardGreaterThanOrEqualTo(String value) {
            addCriterion("reward >=", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardLessThan(String value) {
            addCriterion("reward <", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardLessThanOrEqualTo(String value) {
            addCriterion("reward <=", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardLike(String value) {
            addCriterion("reward like", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardNotLike(String value) {
            addCriterion("reward not like", value, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardIn(List<String> values) {
            addCriterion("reward in", values, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardNotIn(List<String> values) {
            addCriterion("reward not in", values, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardBetween(String value1, String value2) {
            addCriterion("reward between", value1, value2, "reward");
            return (Criteria) this;
        }

        public Criteria andRewardNotBetween(String value1, String value2) {
            addCriterion("reward not between", value1, value2, "reward");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceIsNull() {
            addCriterion("estimate_the_price is null");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceIsNotNull() {
            addCriterion("estimate_the_price is not null");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceEqualTo(String value) {
            addCriterion("estimate_the_price =", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceNotEqualTo(String value) {
            addCriterion("estimate_the_price <>", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceGreaterThan(String value) {
            addCriterion("estimate_the_price >", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceGreaterThanOrEqualTo(String value) {
            addCriterion("estimate_the_price >=", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceLessThan(String value) {
            addCriterion("estimate_the_price <", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceLessThanOrEqualTo(String value) {
            addCriterion("estimate_the_price <=", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceLike(String value) {
            addCriterion("estimate_the_price like", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceNotLike(String value) {
            addCriterion("estimate_the_price not like", value, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceIn(List<String> values) {
            addCriterion("estimate_the_price in", values, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceNotIn(List<String> values) {
            addCriterion("estimate_the_price not in", values, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceBetween(String value1, String value2) {
            addCriterion("estimate_the_price between", value1, value2, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andEstimateThePriceNotBetween(String value1, String value2) {
            addCriterion("estimate_the_price not between", value1, value2, "estimateThePrice");
            return (Criteria) this;
        }

        public Criteria andCourierFeesIsNull() {
            addCriterion("courier_fees is null");
            return (Criteria) this;
        }

        public Criteria andCourierFeesIsNotNull() {
            addCriterion("courier_fees is not null");
            return (Criteria) this;
        }

        public Criteria andCourierFeesEqualTo(String value) {
            addCriterion("courier_fees =", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesNotEqualTo(String value) {
            addCriterion("courier_fees <>", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesGreaterThan(String value) {
            addCriterion("courier_fees >", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesGreaterThanOrEqualTo(String value) {
            addCriterion("courier_fees >=", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesLessThan(String value) {
            addCriterion("courier_fees <", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesLessThanOrEqualTo(String value) {
            addCriterion("courier_fees <=", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesLike(String value) {
            addCriterion("courier_fees like", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesNotLike(String value) {
            addCriterion("courier_fees not like", value, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesIn(List<String> values) {
            addCriterion("courier_fees in", values, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesNotIn(List<String> values) {
            addCriterion("courier_fees not in", values, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesBetween(String value1, String value2) {
            addCriterion("courier_fees between", value1, value2, "courierFees");
            return (Criteria) this;
        }

        public Criteria andCourierFeesNotBetween(String value1, String value2) {
            addCriterion("courier_fees not between", value1, value2, "courierFees");
            return (Criteria) this;
        }

        public Criteria andAddressIdIsNull() {
            addCriterion("address_id is null");
            return (Criteria) this;
        }

        public Criteria andAddressIdIsNotNull() {
            addCriterion("address_id is not null");
            return (Criteria) this;
        }

        public Criteria andAddressIdEqualTo(Integer value) {
            addCriterion("address_id =", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdNotEqualTo(Integer value) {
            addCriterion("address_id <>", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdGreaterThan(Integer value) {
            addCriterion("address_id >", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("address_id >=", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdLessThan(Integer value) {
            addCriterion("address_id <", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdLessThanOrEqualTo(Integer value) {
            addCriterion("address_id <=", value, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdIn(List<Integer> values) {
            addCriterion("address_id in", values, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdNotIn(List<Integer> values) {
            addCriterion("address_id not in", values, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdBetween(Integer value1, Integer value2) {
            addCriterion("address_id between", value1, value2, "addressId");
            return (Criteria) this;
        }

        public Criteria andAddressIdNotBetween(Integer value1, Integer value2) {
            addCriterion("address_id not between", value1, value2, "addressId");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeIsNull() {
            addCriterion("demand_createtime is null");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeIsNotNull() {
            addCriterion("demand_createtime is not null");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeEqualTo(Date value) {
            addCriterion("demand_createtime =", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeNotEqualTo(Date value) {
            addCriterion("demand_createtime <>", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeGreaterThan(Date value) {
            addCriterion("demand_createtime >", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("demand_createtime >=", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeLessThan(Date value) {
            addCriterion("demand_createtime <", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("demand_createtime <=", value, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeIn(List<Date> values) {
            addCriterion("demand_createtime in", values, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeNotIn(List<Date> values) {
            addCriterion("demand_createtime not in", values, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeBetween(Date value1, Date value2) {
            addCriterion("demand_createtime between", value1, value2, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andDemandCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("demand_createtime not between", value1, value2, "demandCreatetime");
            return (Criteria) this;
        }

        public Criteria andNoteIsNull() {
            addCriterion("note is null");
            return (Criteria) this;
        }

        public Criteria andNoteIsNotNull() {
            addCriterion("note is not null");
            return (Criteria) this;
        }

        public Criteria andNoteEqualTo(String value) {
            addCriterion("note =", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotEqualTo(String value) {
            addCriterion("note <>", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteGreaterThan(String value) {
            addCriterion("note >", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteGreaterThanOrEqualTo(String value) {
            addCriterion("note >=", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLessThan(String value) {
            addCriterion("note <", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLessThanOrEqualTo(String value) {
            addCriterion("note <=", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteLike(String value) {
            addCriterion("note like", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotLike(String value) {
            addCriterion("note not like", value, "note");
            return (Criteria) this;
        }

        public Criteria andNoteIn(List<String> values) {
            addCriterion("note in", values, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotIn(List<String> values) {
            addCriterion("note not in", values, "note");
            return (Criteria) this;
        }

        public Criteria andNoteBetween(String value1, String value2) {
            addCriterion("note between", value1, value2, "note");
            return (Criteria) this;
        }

        public Criteria andNoteNotBetween(String value1, String value2) {
            addCriterion("note not between", value1, value2, "note");
            return (Criteria) this;
        }

        public Criteria andTradeNameIsNull() {
            addCriterion("trade_name is null");
            return (Criteria) this;
        }

        public Criteria andTradeNameIsNotNull() {
            addCriterion("trade_name is not null");
            return (Criteria) this;
        }

        public Criteria andTradeNameEqualTo(String value) {
            addCriterion("trade_name =", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameNotEqualTo(String value) {
            addCriterion("trade_name <>", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameGreaterThan(String value) {
            addCriterion("trade_name >", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameGreaterThanOrEqualTo(String value) {
            addCriterion("trade_name >=", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameLessThan(String value) {
            addCriterion("trade_name <", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameLessThanOrEqualTo(String value) {
            addCriterion("trade_name <=", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameLike(String value) {
            addCriterion("trade_name like", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameNotLike(String value) {
            addCriterion("trade_name not like", value, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameIn(List<String> values) {
            addCriterion("trade_name in", values, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameNotIn(List<String> values) {
            addCriterion("trade_name not in", values, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameBetween(String value1, String value2) {
            addCriterion("trade_name between", value1, value2, "tradeName");
            return (Criteria) this;
        }

        public Criteria andTradeNameNotBetween(String value1, String value2) {
            addCriterion("trade_name not between", value1, value2, "tradeName");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreIsNull() {
            addCriterion("purchase_store is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreIsNotNull() {
            addCriterion("purchase_store is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreEqualTo(String value) {
            addCriterion("purchase_store =", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreNotEqualTo(String value) {
            addCriterion("purchase_store <>", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreGreaterThan(String value) {
            addCriterion("purchase_store >", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_store >=", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreLessThan(String value) {
            addCriterion("purchase_store <", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreLessThanOrEqualTo(String value) {
            addCriterion("purchase_store <=", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreLike(String value) {
            addCriterion("purchase_store like", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreNotLike(String value) {
            addCriterion("purchase_store not like", value, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreIn(List<String> values) {
            addCriterion("purchase_store in", values, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreNotIn(List<String> values) {
            addCriterion("purchase_store not in", values, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreBetween(String value1, String value2) {
            addCriterion("purchase_store between", value1, value2, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchaseStoreNotBetween(String value1, String value2) {
            addCriterion("purchase_store not between", value1, value2, "purchaseStore");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceIsNull() {
            addCriterion("purchase_place is null");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceIsNotNull() {
            addCriterion("purchase_place is not null");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceEqualTo(String value) {
            addCriterion("purchase_place =", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceNotEqualTo(String value) {
            addCriterion("purchase_place <>", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceGreaterThan(String value) {
            addCriterion("purchase_place >", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_place >=", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceLessThan(String value) {
            addCriterion("purchase_place <", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceLessThanOrEqualTo(String value) {
            addCriterion("purchase_place <=", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceLike(String value) {
            addCriterion("purchase_place like", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceNotLike(String value) {
            addCriterion("purchase_place not like", value, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceIn(List<String> values) {
            addCriterion("purchase_place in", values, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceNotIn(List<String> values) {
            addCriterion("purchase_place not in", values, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceBetween(String value1, String value2) {
            addCriterion("purchase_place between", value1, value2, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andPurchasePlaceNotBetween(String value1, String value2) {
            addCriterion("purchase_place not between", value1, value2, "purchasePlace");
            return (Criteria) this;
        }

        public Criteria andDemandStateIsNull() {
            addCriterion("demand_state is null");
            return (Criteria) this;
        }

        public Criteria andDemandStateIsNotNull() {
            addCriterion("demand_state is not null");
            return (Criteria) this;
        }

        public Criteria andDemandStateEqualTo(Integer value) {
            addCriterion("demand_state =", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateNotEqualTo(Integer value) {
            addCriterion("demand_state <>", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateGreaterThan(Integer value) {
            addCriterion("demand_state >", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("demand_state >=", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateLessThan(Integer value) {
            addCriterion("demand_state <", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateLessThanOrEqualTo(Integer value) {
            addCriterion("demand_state <=", value, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateIn(List<Integer> values) {
            addCriterion("demand_state in", values, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateNotIn(List<Integer> values) {
            addCriterion("demand_state not in", values, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateBetween(Integer value1, Integer value2) {
            addCriterion("demand_state between", value1, value2, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandStateNotBetween(Integer value1, Integer value2) {
            addCriterion("demand_state not between", value1, value2, "demandState");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceIsNull() {
            addCriterion("demand_pay_price is null");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceIsNotNull() {
            addCriterion("demand_pay_price is not null");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceEqualTo(String value) {
            addCriterion("demand_pay_price =", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceNotEqualTo(String value) {
            addCriterion("demand_pay_price <>", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceGreaterThan(String value) {
            addCriterion("demand_pay_price >", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceGreaterThanOrEqualTo(String value) {
            addCriterion("demand_pay_price >=", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceLessThan(String value) {
            addCriterion("demand_pay_price <", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceLessThanOrEqualTo(String value) {
            addCriterion("demand_pay_price <=", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceLike(String value) {
            addCriterion("demand_pay_price like", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceNotLike(String value) {
            addCriterion("demand_pay_price not like", value, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceIn(List<String> values) {
            addCriterion("demand_pay_price in", values, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceNotIn(List<String> values) {
            addCriterion("demand_pay_price not in", values, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceBetween(String value1, String value2) {
            addCriterion("demand_pay_price between", value1, value2, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andDemandPayPriceNotBetween(String value1, String value2) {
            addCriterion("demand_pay_price not between", value1, value2, "demandPayPrice");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdIsNull() {
            addCriterion("user_vouchers_id is null");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdIsNotNull() {
            addCriterion("user_vouchers_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdEqualTo(Integer value) {
            addCriterion("user_vouchers_id =", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdNotEqualTo(Integer value) {
            addCriterion("user_vouchers_id <>", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdGreaterThan(Integer value) {
            addCriterion("user_vouchers_id >", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_vouchers_id >=", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdLessThan(Integer value) {
            addCriterion("user_vouchers_id <", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_vouchers_id <=", value, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdIn(List<Integer> values) {
            addCriterion("user_vouchers_id in", values, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdNotIn(List<Integer> values) {
            addCriterion("user_vouchers_id not in", values, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdBetween(Integer value1, Integer value2) {
            addCriterion("user_vouchers_id between", value1, value2, "userVouchersId");
            return (Criteria) this;
        }

        public Criteria andUserVouchersIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_vouchers_id not between", value1, value2, "userVouchersId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}